Create an Account for the B2B SHOHO customer, Salesforce → ESB → ARIA
To work this functionality
- The "relatedParty.characteristic.value" should not be empty and the possible values are "SOHO/Small, LE/CE, Government, Wholesale" where the "relatedParty.characteristic.name=Classification"
- The Possible values for "characteristic.riskProfileId" can be High, Low, Medium ,or B2B_Default.
URL
https://[localhost]:[port]/sfdc-ux/v1/{businessId}/billingAccount
URL PARAMS
name | type | description | required |
---|
businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR etc.) identifying the business unit. | Y |
name | value | description | required |
---|
client_id | string | The client_id identifying the channel. | Y |
client_secret | string | Password associated with the client_id. | Y |
X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | Y |
targetSystem | string | This describes the end system request is for eg, “Aria”, “Matrixx” | Y |
channelId | String | This is the channel to identify the business group, Eg: “SFDC-B2B” | Y |
cURL request
curl --location 'https:
--header 'X-Correlation-Id: 644e1dd7-2a7f-18fb-b8ed-ed78c3F92c2b' \
--header 'client_id: 784c9a6dd7ae49768816cab57fcf1fa1' \
--header 'client_secret: 187b259EB77441babbF611d2646C670d' \
--header 'targetSystem: Aria' \
--header 'channelId: SFDC-B2B' \
--header 'Content-Type: application/json' \
--data-raw '{
"defaultPaymentMethod": {
"@referredType": "NonAutoPay",
"name": "Net_23_Days"
},
"billStructure": {
"presentationMedia": [
{
"name": "XML Master File",
"@type": "notify_method"
},
{
"name": "Paper Billing",
"@type": "BillDeliveryMethod"
}
]
},
"accountBalance": [
{
"balanceType": "balanceForward",
"amount": {
"unit": "USD",
"value": 10
}
}
],
"characteristic": [
{
"valueType": "string",
"value": "Terms",
"name": "paymentOption"
},
{
"valueType": "string",
"value": "firstName1",
"name": "firstName1"
},
{
"valueType": "string",
"value": "lastName1",
"name": "lastName1"
},
{
"valueType": "string",
"value": "companyName1",
"name": "companyName1"
},
{
"valueType": "string",
"value": "firstName2",
"name": "firstName2"
},
{
"valueType": "string",
"value": "lastName2",
"name": "lastName2"
},
{
"valueType": "string",
"value": "companyName2",
"name": "companyName2"
},
{
"valueType": "string",
"value": "EN",
"name": "language"
},
{
"valueType": "string",
"value": "Low",
"name": "riskProfileId"
},
{
"valueType": "string",
"value": "PR-English",
"name": "localeName"
},
{
"valueType": "string",
"value": "B2B ",
"name": "functional_acct_group"
},
{
"valueType": "string",
"value": "2024-1-13",
"name": "retroactive_start_date"
}
],
"relatedParty": [
{
"id": "ban1807001-can1807001-BG",
"@type": "BillingGroupRef",
"name": "ban1807001-can1807001 Billing Group 001"
},
{
"id": "PR13",
"@type": "CompanyCodeRef",
"name": "Company Code"
},
{
"id": "ATT12345",
"@type": "MigratedAccountRef",
"name": "BAN"
},
{
"@referredType": "Customer",
"role": "Owner",
"characteristic": [
{
"name": "Classification",
"valueType": "string",
"value": "SOHO"
}
]
}
],
"financialAccount": {
"id": "ban1807001-can1807001-DG",
"@type": "DunningGroupRef",
"name": "ban1807001-can1807001 Dunning Group 001"
},
"contact": [
{
"partyRoleType": "Customer",
"contactMedium": [
{
"preferred": true,
"characteristic": {
"emailAddress": "itsme@anemail.com",
"phoneNumber": "(416) 986-5566",
"street1": "150 Chestnut Street",
"stateOrProvince": "SA",
"postCode": "L4B 1Y3",
"country": "AU",
"city": "Toronto"
},
"mediumType": "Phone",
"@referredType": "accountContact"
},
{
"preferred": true,
"characteristic": {
"emailAddress": "dave@ariasystems.com",
"phoneNumber": "(787) 449-4049",
"street1": "52 CALLE 1",
"stateOrProvince": "PR",
"postCode": "00924",
"country": "US",
"city": "San Juan"
},
"mediumType": "Mail",
"@referredType": "statementContact"
}
],
"relatedParty": {
"role": "Owner",
"name": "Noah White",
"id": "CA-63"
},
"contactName": "White, Noah"
}
],
"accountType": "B2B",
"@type": "BillingAccount",
"paymentStatus": "Postpaid",
"state": "Active",
"id": "ban1807001-can1807001",
"accountRelationship": [
{
"account": {
"id": "ban1807001-can1807001_MPI_000",
"name": "Account_Master_Plan",
"description": "ban1807001-can1807001 Master Plan 000",
"@type": "MasterPlanRef"
}
}
],
"taxExemption": [
{
"issuingJurisdiction":"",
"certificateNumber": "Cert1234",
"@type": "TaxExemptCertificate",
"reason": "A"
}
]
}'
Definitions
name | type | description | required |
---|
id | string | Unique identifier of the account | Y |
accountType | string | A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values | Y* |
paymentStatus | string | The condition of the account, such as due, paid, in arrears | N |
state | string | Contains the lifecycle state such as: Active, Closed, Suspended and so on. | N |
accountBalance | object Array | Balances linked to the account | N |
accountBalance.balanceType | string | Type of the balance ; deposit balance, disputed balance, loyalty balance, receivable balance... | N |
accountBalance.amount | object | Balance amount | N |
accountBalance.amount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N |
accountBalance.amount.value | number, float | A positive floating point number | N |
accountRelationship | object Array | Significant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account This object is required for B2B while creating a child billingAccount. This must be passed only when you want to create a child billing Account. For B2B to create childAccount it's mandatory | Y* |
accountRelationship.account | object | .An account may be a party account or a financial account. | N |
accountRelationship.account.id | string | Unique identifier Id of the EntityDescriptionRef. Parent billingAccount is passed for B2B It is mandatory where @type is MasterPlanRef | Y* |
accountRelationship.account.description | string | Detailed description of the EntityDescriptionRef | N |
accountRelationship.account.name | string | Name of the account. | N |
accountRelationship.account.@type | string | | Y* |
billStructure | Object | Bill structure object | N |
billStructure.presentationMedia | arrayObject | A list of bill presentation media ref or values | N |
billStructure.presentationMedia.name | string | A short descriptive name | N |
billStructure.presentationMedia.@type | string | When sub-classing, this defines the sub-class entity name | N |
contact | object Array | An individual or an organization used as a contact point for a given account and accessed via some contact medium. | N |
contact.contactName | string | A displayable name for that contact | N |
contact.partyRoleType | string | Identifies what kind of party role type is linked to the contact (a account manager...) | N |
contact.contactMedium | object Array | Indicates the contact medium that could be used to contact the party. | N |
contact.contactMedium.mediumType | string | Type of the contact medium, such as: email address, telephone number, postal address | N |
contact.contactMedium.preferred | boolean | If true, indicates that is the preferred contact medium | N |
contact.contactMedium.@referredType | string | Referred Type | Y |
contact.contactMedium.characteristic | object | Any additional characteristic(s) of this contact medium | N |
contact.contactMedium.characteristic.city | string | City | N |
contact.contactMedium.characteristic.country | string | | Y |
contact.contactMedium.characteristic.emailAddress | string | Full email address in standard format | N |
contact.contactMedium.characteristic.phoneNumber | string | The primary phone number of the contact | Y |
contact.contactMedium.characteristic.postCode | string | Postcode | Y |
contact.contactMedium.characteristic.stateOrProvince | string | State or province | N |
contact.contactMedium.characteristic.street1 | string | Describes the street. | Y |
contact.relatedParty | object | related party object | N |
contact.relatedParty.role | string | role of related party | N |
contact.relatedParty.name | string | name of related party | N |
contact.relatedParty.id | string | unique identifier of related party | N |
defaultPaymentMethod | object | | N |
defaultPaymentMethod.name | string | Name of the EntityRef. | Y |
defaultPaymentMethod.@referredType | string | The actual type of the target instance when needed for disambiguation | N |
financialAccount | object | AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party. | N |
financialAccount.id | string | Unique identifier Id of the EntityRef. | Y |
financialAccount.name | string | Name of the EntityRef. | N |
financialAccount.@type | string | When sub-classing, this defines the sub-class entity name | N |
characteristic | object Array | Describes a given characteristic of an object or entity through a name/value pair. | N |
characteristic.name | string | Name of the characteristic | Y |
characteristic.valueType | string | Data type of the value of the characteristic | N |
characteristic.value | any | The value of the characteristic | Y |
relatedParty | object Array | | N |
relatedParty.id | string | Unique identifier Id of the EntityRef. | Y* |
relatedParty.name | string | Name of the EntityRef. | N |
relatedParty.role | string | role played by the related party | N |
relatedParty.@type | string | When sub-classing, this defines the sub-class entity name | Y* |
relatedParty.@referredType | string | The actual type of the target instance when needed for disambiguation. Note - This is mandatory for B2B 'SOHO/Small' customer | Y* |
relatedParty.characteristic | array object | characteristic array of related party | N |
relatedParty.characteristic.name | string | characteristic name of related party | Y* |
relatedParty.characteristic.valueType | string | characteristic value type of related party | N |
relatedParty.characteristic.value | string | characteristic value of related party | Y* |
taxExemption | object Array | Proof of freedom from taxes imposed by a taxing jurisdiction. | N |
taxExemption.certificateNumber | string | Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction. | N |
taxExemption.issuingJurisdiction | string | Name of the taxing jurisdiction for which taxes are exempt. | Y |
taxExemption.reason | string | Reason of the tax exemption | N |
taxExemption.@type | string | When sub-classing, this defines the sub-class entity name | N |
@type | string | When sub-classing, this defines the sub-class entity name | N |
characteristic Values:
Characteristic name | type | description | required |
---|
paymentOption | string | Line of business. | Y |
firstName1 | string | Account Contact First Name | N |
lastName1 | string | Account Contact Last Name | N |
companyName1 | string | Account Contact Company Name | N |
firstName2 | string | Statement Contact First Name | N |
lastName2 | string | Statement Contact Last Name | N |
companyName2 | string | Statement Contact Company Name | N |
language | string | Language | N |
riskProfileId | string | Risk Profile Id | Y |
localeName | string | Local Name | N |
functional_acct_group | string | functional account group | N |
retroactive_start_date | string | Date, to set for retroactive start | N |
relatedParty @type | type | description | required |
---|
BillingGroupRef | string | reference of group billing | N |
CompanyCodeRef | string | reference code of company | N |
MigratedAccountRef | string | account reference of migrated account. allowed value is 'BAN' | N |
relatedParty @referredType | type | description | required |
---|
Customer | string | Customer Class Note - This is mandatory for B2B 'SOHO/Small' customer | Y* |
######
Response
{
"defaultPaymentMethod": {
"@referredType": "NonAutoPay",
"name": "Net_23_Days"
},
"billStructure": {
"presentationMedia": [
{
"name": "XML Master File",
"@type": "notify_method"
},
{
"name": "Paper Billing",
"@type": "BillDeliveryMethod"
}
]
},
"accountBalance": [
{
"balanceType": "balanceForward",
"amount": {
"unit": "USD",
"value": 10
}
}
],
"characteristic": [
{
"valueType": "string",
"value": "Terms",
"name": "paymentOption"
},
{
"valueType": "string",
"value": "firstName1",
"name": "firstName1"
},
{
"valueType": "string",
"value": "lastName1",
"name": "lastName1"
},
{
"valueType": "string",
"value": "companyName1",
"name": "companyName1"
},
{
"valueType": "string",
"value": "firstName2",
"name": "firstName2"
},
{
"valueType": "string",
"value": "lastName2",
"name": "lastName2"
},
{
"valueType": "string",
"value": "companyName2",
"name": "companyName2"
},
{
"valueType": "string",
"value": "EN",
"name": "language"
},
{
"valueType": "string",
"value": "Low_Risk_Customers",
"name": "riskProfileId"
},
{
"valueType": "string",
"value": "PR-English",
"name": "localeName"
},
{
"valueType": "string",
"value": "B2B",
"name": "functional_acct_group"
},
{
"valueType": "string",
"value": "2021-10-29",
"name": "retroactive_start_date"
}
],
"relatedParty": [
{
"id": "ban1807002-can1807002-BG",
"@type": "BillingGroupRef",
"name": "ban1807002-can1807002 Billing Group 001"
},
{
"id": "PR13",
"@type": "CompanyCodeRef",
"name": "Company Code"
},
{
"id": "ATT12345",
"@type": "MigratedAccountRef",
"name": "BAN"
},
{
"@referredType": "Customer",
"role": "Owner",
"characteristic": [
{
"name": "Classification",
"valueType": "string",
"value": "SOHO"
}
]
}
],
"financialAccount": {
"id": "ban1807002-can1807002-DG",
"@type": "DunningGroupRef",
"name": "ban1807002-can1807002 Dunning Group 001"
},
"contact": [
{
"partyRoleType": "Customer",
"contactMedium": [
{
"preferred": true,
"characteristic": {
"emailAddress": "itsme@anemail.com",
"phoneNumber": "(416) 986-5566",
"street1": "150 Chestnut Street",
"stateOrProvince": "SA",
"postCode": "L4B 1Y3",
"country": "AU",
"city": "Toronto"
},
"mediumType": "Phone",
"@referredType": "accountContact"
},
{
"preferred": true,
"characteristic": {
"emailAddress": "dave@ariasystems.com",
"phoneNumber": "(787) 449-4049",
"street1": "52 CALLE 1",
"stateOrProvince": "PR",
"postCode": "00924",
"country": "US",
"city": "San Juan"
},
"mediumType": "Mail",
"@referredType": "statementContact"
}
],
"relatedParty": {
"role": "Owner",
"name": "Noah White",
"id": "CA-63"
},
"contactName": "White, Noah"
}
],
"accountType": "B2B",
"@type": "BillingAccount",
"paymentStatus": "Postpaid",
"state": "Active",
"id": "ban1807002-can1807002",
"taxExemption": [
{
"issuingJurisdiction":"",
"certificateNumber": "Cert1234",
"@type": "TaxExemptCertificate",
"reason": "A"
}
],
"accountRelationship": [
{
"account": {
"id": "ban1807002-can1807002_MPI_000",
"name": "Account_Master_Plan",
"description": "ban1807002-can1807002 Master Plan 000",
"@type": "MasterPlanRef"
}
},
{
"account": {
"id": "1074353",
"@type": "billing_group_no",
"@referredType": "BillingAriaAccount"
}
},
{
"account": {
"id": "39629421",
"@type": "stmt_contact_no",
"@referredType": "BillingAriaAccount"
}
},
{
"account": {
"id": "33437709",
"@type": "chief_acct_no",
"@referredType": "BillingAriaAccount"
}
},
{
"account": {
"id": "2387978",
"@type": "plan_instance_no",
"@referredType": "BillingAriaAccount"
}
},
{
"account": {
"id": "3968873",
"@type": "out_plan_unit_inst_no",
"@referredType": "BillingAriaAccount"
}
}
]
}
Definitions
name | type | description | required |
---|
id | string | Unique identifier of the account | N |
accountType | string | A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values | N |
paymentStatus | string | The condition of the account, such as due, paid, in arrears | N |
state | string | Contains the lifecycle state such as: Active, Closed, Suspended and so on. | N |
accountBalance | array | Balances linked to the account | N |
accountBalance.balanceType | string | Type of the balance ; deposit balance, disputed balance, loyalty balance, receivable balance... | N |
accountBalance.amount | object | Balance amount | N |
accountBalance.amount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N |
accountBalance.amount.value | number, float | A positive floating point number | N |
accountRelationship | object Array | Significant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account This object is required for B2B while creating a child billingAccount. This must be passed only when you want to create a child billing Account. For B2B to create childAccount it's mandatory | N |
accountRelationship.account | object | .An account may be a party account or a financial account. | N |
accountRelationship.account.id | string | Unique identifier Id of the EntityDescriptionRef. Parent billingAccount is passed for B2B | N |
accountRelationship.account.description | string | Detailed description of the EntityDescriptionRef | N |
accountRelationship.account.name | string | Name of the account. | N |
accountRelationship.account.@type | string | When sub-classing, this defines the sub-class entity name | N |
accountRelationship.account.@referredType | string | Account reference | N |
billStructure | Object | Bill structure object | N |
billStructure.presentationMedia | arrayObject | A list of bill presentation media ref or values | N |
billStructure.presentationMedia.name | string | A short descriptive name | N |
billStructure.presentationMedia.@type | string | When sub-classing, this defines the sub-class entity name | N |
contact | object Array | An individual or an organization used as a contact point for a given account and accessed via some contact medium. | N |
contact.contactName | string | A displayable name for that contact | N |
contact.partyRoleType | string | Identifies what kind of party role type is linked to the contact (a account manager...) | N |
contact.contactMedium | object Array | Indicates the contact medium that could be used to contact the party. | N |
contact.contactMedium.mediumType | string | Type of the contact medium, such as: email address, telephone number, postal address | N |
contact.contactMedium.preferred | boolean | If true, indicates that is the preferred contact medium | N |
contact.contactMedium.@referredType | string | Referred Type | N |
contact.contactMedium.characteristic | object | Any additional characteristic(s) of this contact medium | N |
contact.contactMedium.characteristic.city | string | City | N |
contact.contactMedium.characteristic.country | string | | N |
contact.contactMedium.characteristic.emailAddress | string | Full email address in standard format | N |
contact.contactMedium.characteristic.phoneNumber | string | The primary phone number of the contact | N |
contact.contactMedium.characteristic.postCode | string | Postcode | N |
contact.contactMedium.characteristic.stateOrProvince | string | State or province | N |
contact.contactMedium.characteristic.street1 | string | Describes the street. | N |
contact.relatedParty | object | related party object | N |
contact.relatedParty.role | string | role of related party | N |
contact.relatedParty.name | string | name of related party | N |
contact.relatedParty.id | string | unique identifier of related party | N |
defaultPaymentMethod | object | | N |
defaultPaymentMethod.name | string | Name of the EntityRef. | N |
defaultPaymentMethod.@referredType | string | The actual type of the target instance when needed for disambiguation | N |
financialAccount | object | AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party. | N |
financialAccount.id | string | Unique identifier Id of the EntityRef. | N |
financialAccount.name | string | Name of the EntityRef. | N |
financialAccount.@type | string | When sub-classing, this defines the sub-class entity name | N |
characteristic | object Array | Describes a given characteristic of an object or entity through a name/value pair. | N |
characteristic.name | string | Name of the characteristic | N |
characteristic.valueType | string | Data type of the value of the characteristic | N |
characteristic.value | any | The value of the characteristic | N |
relatedParty | object Array | | N |
relatedParty.id | string | Unique identifier Id of the EntityRef. | N |
relatedParty.name | string | Name of the EntityRef. | N |
relatedParty.role | | role played by the related party | N |
relatedParty.@type | string | When sub-classing, this defines the sub-class entity name | N |
relatedParty.@referredType | string | The actual type of the target instance when needed for disambiguation | N |
relatedParty.characteristic | array object | characteristic array of related party | N |
relatedParty.characteristic.name | string | characteristic name of related party | N |
relatedParty.characteristic.valueType | string | characteristic value type of related party | N |
relatedParty.characteristic.value | string | characteristic value of related party | N |
taxExemption | object Array | Proof of freedom from taxes imposed by a taxing jurisdiction. | N |
taxExemption.certificateNumber | string | Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction. | N |
taxExemption.issuingJurisdiction | string | Name of the taxing jurisdiction for which taxes are exempt. | N |
taxExemption.reason | string | Reason of the tax exemption | N |
taxExemption.@type | string | When sub-classing, this defines the sub-class entity name | N |
@type | string | When sub-classing, this defines the sub-class entity name | N |
characteristic Values:
Characteristic name | type | description | required |
---|
paymentOption | string | Line of business. | N |
firstName1 | string | Account Contact First Name | N |
lastName1 | string | Account Contact Last Name | N |
companyName1 | string | Account Contact Company Name | N |
firstName2 | string | Statement Contact First Name | N |
lastName2 | string | Statement Contact Last Name | N |
companyName2 | string | Statement Contact Company Name | N |
language | string | Language | N |
riskProfileId | string | Risk Profile Id | N |
localeName | string | Local Name | N |
functional_acct_group | string | functional account group | N |
retroactive_start_date | string | Date, to set for retroactive start | N |
relatedParty @type | type | description | required |
---|
BillingGroupRef | string | reference of group billing | N |
CompanyCodeRef | string | reference code of company | N |
MigratedAccountRef | string | account refererence of migrated account. | N |
relatedParty @referredType | type | description | required |
---|
Customer | string | Customer Class Note - This is mandatory for B2B 'SOHO' customer | Y* |